
/* A Bison parser, made by GNU Bison 2.4.1.  */

/* Skeleton interface for Bison's Yacc-like parsers in C
   
      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
   Free Software Foundation, Inc.
   
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.
   
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

/* As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice, so long as that work isn't itself a
   parser generator using the skeleton or a modified version thereof
   as a parser skeleton.  Alternatively, if you modify or redistribute
   the parser skeleton itself, you may (at your option) remove this
   special exception, which will cause the skeleton and the resulting
   Bison output files to be licensed under the GNU General Public
   License without this special exception.
   
   This special exception was added by the Free Software Foundation in
   version 2.2 of Bison.  */


/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     tCOMA = 258,
     tOP_AFNOT = 259,
     tOP_AFXOR = 260,
     tOP_AFOR = 261,
     tOP_AFAND = 262,
     tOP_AFRSHIFT = 263,
     tOP_AFLSHIFT = 264,
     tOP_AFDIV = 265,
     tOP_AFMUL = 266,
     tOP_AFLESS = 267,
     tOP_AFPLUS = 268,
     tOP_AFC = 269,
     tOP_TER = 270,
     tOP_OR = 271,
     tOP_AND = 272,
     tOP_BOR = 273,
     tOP_BXOR = 274,
     tOP_BAND = 275,
     tOP_NE = 276,
     tOP_EQ = 277,
     tOP_GE = 278,
     tOP_GT = 279,
     tOP_LE = 280,
     tOP_LT = 281,
     tOP_RSHIFT = 282,
     tOP_LSHIFT = 283,
     tOP_LESS = 284,
     tOP_PLUS = 285,
     tOP_DIV = 286,
     tOP_MUL = 287,
     tOP_LLESS = 288,
     tOP_PPLUS = 289,
     tOP_BNOT = 290,
     tOP_NOT = 291,
     PREC_PA = 292,
     IF_ALONE = 293,
     tELSE = 294,
     tINTEGER = 295,
     tVARIABLE = 296,
     tSTRING = 297,
     tCOMMENT_LINE = 298,
     tCONST = 299,
     tINT = 300,
     tVOID = 301,
     tRETURN = 302,
     tEND = 303,
     tASM = 304,
     tCOLON = 305,
     tAC_OPEN = 306,
     tAC_CLOSE = 307,
     tPA_OPEN = 308,
     tPA_CLOSE = 309,
     tIF = 310,
     tWHILE = 311,
     tFOR = 312,
     tBREAK = 313,
     tCONTINUE = 314
   };
#endif
/* Tokens.  */
#define tCOMA 258
#define tOP_AFNOT 259
#define tOP_AFXOR 260
#define tOP_AFOR 261
#define tOP_AFAND 262
#define tOP_AFRSHIFT 263
#define tOP_AFLSHIFT 264
#define tOP_AFDIV 265
#define tOP_AFMUL 266
#define tOP_AFLESS 267
#define tOP_AFPLUS 268
#define tOP_AFC 269
#define tOP_TER 270
#define tOP_OR 271
#define tOP_AND 272
#define tOP_BOR 273
#define tOP_BXOR 274
#define tOP_BAND 275
#define tOP_NE 276
#define tOP_EQ 277
#define tOP_GE 278
#define tOP_GT 279
#define tOP_LE 280
#define tOP_LT 281
#define tOP_RSHIFT 282
#define tOP_LSHIFT 283
#define tOP_LESS 284
#define tOP_PLUS 285
#define tOP_DIV 286
#define tOP_MUL 287
#define tOP_LLESS 288
#define tOP_PPLUS 289
#define tOP_BNOT 290
#define tOP_NOT 291
#define PREC_PA 292
#define IF_ALONE 293
#define tELSE 294
#define tINTEGER 295
#define tVARIABLE 296
#define tSTRING 297
#define tCOMMENT_LINE 298
#define tCONST 299
#define tINT 300
#define tVOID 301
#define tRETURN 302
#define tEND 303
#define tASM 304
#define tCOLON 305
#define tAC_OPEN 306
#define tAC_CLOSE 307
#define tPA_OPEN 308
#define tPA_CLOSE 309
#define tIF 310
#define tWHILE 311
#define tFOR 312
#define tBREAK 313
#define tCONTINUE 314




#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{

/* Line 1676 of yacc.c  */
#line 81 "parseur.y"

    int val ; 
    char *id ;
    char *comment ; 
    char *str ;
    struct Symbol *sym ;
    struct RegisterValue reg ;
    enum JumpCondType typeCmp ; 
    struct SType sType ;
    struct SType *pSType ;
    enum OperationType typeOp ; 
    int labelNumber ;



/* Line 1676 of yacc.c  */
#line 186 "y.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif

extern YYSTYPE yylval;


